package com.sprouting.personal.dao;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sprouting.personal.model.entity.UploadFile;

import java.util.List;

/**
 * 上传文件信息表
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2022/9/16 1:19
 */
public interface UploadFileDao extends BaseMapper<UploadFile> {

    /**
     * 根据绑定ID查询上传文件
     * @param bindingId 绑定ID
     * @return
     */
    List<UploadFile> getUploadFileByBindingId(String bindingId);

    /**
     * 根据主键查询上传文件
     * @param id 上传文件主键ID
     * @return
     */
    UploadFile getUploadFileById(String id);

    /**
     * 根据绑定ID查询上传文件
     * @param idList 绑定ID
     * @return
     */
    List<UploadFile> getUploadFileByBindingIdList(List<String> idList);

    /**
     * 查询临时文件超时的
     * @param dateTime 超时时间
     * @return
     */
    List<UploadFile> getUploadFileTempTimedOut(DateTime dateTime);

    /**
     * 根据保存路径找到文件信息
     * @param path 保存路径
     * @return
     */
    UploadFile getUploadFileBySavePath(String path);

    /**
     * 根据绑定ID查询上传文件，不含临时文件
     * @param bindingId 绑定ID
     */
    List<UploadFile> getUploadFileByBindingIdNotTemp(String bindingId);
}
